.. ----------------------------------------------------------------------------- .. .. Filename : index.rst .. Author : Huang Leilei .. Status : draft .. Created : 2026-03-03 .. Description : 第01练 - 组合逻辑设计 .. .. ----------------------------------------------------------------------------- 第01练 - 组合逻辑设计 (04-10、04-17、04-24) -------------------------------------------------------------------------------- 1. 使用课上介绍的方法对除法进行算法建模 a. 输入:数据类型为S0I8F0的被除数dat_a_i;数据类型为S0I8F0的除数dat_b_i。 #. 输出:数据类型为S0I8F8的商dat_c_o。 #. 精度:与“全精度运算”保持一致。 #. 方法: * 全精度运算(作为例子) * 直接使用“/”(作为例子) * 使用恢复余数除法(作为例子) * 使用不恢复余数除法(自行实现) * 使用LUT(自行实现) * 使用二分法(逐比特)(自行实现) * 使用牛顿-拉夫逊迭代法(自行实现) #. 环境:不做限制。 #. 语言:不做限制。 #. 注意: * 牛顿-拉夫逊迭代法的发散性: 当初始值大于2 / divisor时,x * (2 - divisor * x)会趋向于负无穷。 * python中round的特性(python默认采用银行家round): round(0.5) = 0 # 可采用floor(x + 0.5)替代。 #. 使用牛顿-拉夫逊迭代法对除法进行(组合逻辑的)硬件描述 a. 输入:数据类型为S0I8F0的被除数dat_a_i;数据类型为S0I8F0的除数dat_b_i。 #. 输出:数据类型为S0I8F8的商dat_c_o。 #. 精度:与“全精度运算”保持一致。 #. 环境:不做限制。 #. 语言:Verilog。 #. 请于05-08前提交实验报告至作业邮箱,应包含以下内容 a. 标题(组合逻辑设计实验:牛顿-拉夫逊迭代求解除法) #. 实验日期 #. 学生信息 #. 实验目的 #. 实验原理 #. 实验环境 #. 代码及分析 #. 仿真及分析 #. 实验总结 * **注意简洁性,不要长篇大论,讲出关键内容就可以!!** * **注意简洁性,不要长篇大论,讲出关键内容就可以!!** * **注意简洁性,不要长篇大论,讲出关键内容就可以!!** ---------------------------------------- #. 选做:使用CORDIC方法对sin()进行算法建模和(组合逻辑的)硬件描述: a. 输入:数据类型为S0I1F16的弧度值dat_i(假设输入总是落在[0,pi/2)之间)。 #. 输出:数据类型为S0I1F16的正弦值dat_o。 #. 精度:在迭代16次的情况下,与全精度运算相比误差在3LSB(含)以内。 #. 算法环境:不做限制。 #. 算法语言:不做限制。 #. 硬件环境:不做限制。 #. 硬件语言:Verilog。